home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / freedos.img / LEVEL1 / NTFS.CAB / bin / Ntfs.bat next >
DOS Batch File  |  2005-01-16  |  5KB  |  182 lines

  1. @if "%debug%"=="" echo off
  2. if "%1"==":" if not "%2"=="" goto %2
  3. :: Ntfs Begin ::
  4.  
  5. if not exist %ramdrv%\bin\lmod.com %0 : _error missing lmod.com (check utils.%arcext%)
  6. if not exist %ramdrv%\bin\varset.com %0 : _error missing varset.com (check utilz.%arcext%)
  7. if not exist %ramdrv%\bin\ntfsdos.exe %0 : _error missing 'NTFSDOS.EXE'
  8.  
  9. :_start
  10. echo. >%tmp%\_Ntfs.tmp
  11. if not exist %ramdrv%\etc\global.set goto _noglob
  12. type %ramdrv%\etc\global.set >%tmp%\_Ntfs.tmp
  13. :_noglob
  14. if not exist %ramdrv%\etc\Ntfs.set goto _nospec
  15. type %ramdrv%\etc\Ntfs.set >%tmp%\_Ntfs.tmp
  16. :_nospec
  17. xgrep -sy "^[:s]*@*[:s]*s?e?t?[:s]*Ntfs_.+=" %tmp%\_Ntfs.tmp >%tmp%\_Ntfs.bak
  18. if errorlevel 1 goto _noset
  19. xgrep -sy "^[:s]*@*[:s]*set[:s]+" %tmp%\_Ntfs.bak >%tmp%\_Ntfs.bat
  20. xgrep -syv "^[:s]*@*[:s]*set[:s]+" %tmp%\_Ntfs.bak >%tmp%\_Ntfs.tmp
  21. if errorlevel 1 goto _runset
  22. lmod /L* set []<%tmp%\_Ntfs.tmp >>%tmp%\_Ntfs.bat
  23. :_runset
  24. call %tmp%\_Ntfs.bat
  25. :_noset
  26.  
  27. if "%Ntfs_ti%"=="" set Ntfs_ti=5
  28.  
  29. for %%i in (-u -U) do if "%1"=="%%i" goto _unload
  30. if "%1"=="/u" goto _unload
  31. if "%1"=="/U" goto _unload
  32. for %%i in (-c -C) do if "%1"=="%%i" goto _config
  33. if "%1"=="/c" goto _config
  34. if "%1"=="/C" goto _config
  35. for %%i in (-h -H -?) do if "%1"=="%%i" goto _usage
  36. if "%1"=="/h" goto _usage
  37. if "%1"=="/H" goto _usage
  38. if "%1"=="/?" goto _usage
  39.  
  40. if "%Ntfs_ncfg%"=="1" goto _nocfg
  41. set wcb1=%Ntfs_install%
  42. call w.bat box @%0:w_cfg #2,%Ntfs_ti%
  43. if errorlevel 3 goto _end
  44. set Ntfs_install=%wcb1%
  45. if errorlevel 2 goto _config
  46. :_nocfg
  47.  
  48. :_install
  49. if "%Ntfs_install%"=="1" goto _dosbios
  50. echo NTFS: Skipping NTFS Support (NTFS not installed)
  51. goto _end
  52. :_dosbios
  53. set _ntfs=
  54. if not "%ntfs_drv%"==""  set _ntfs=%_ntfs% /L:%ntfs_drv%
  55. if not "%ntfs_size%"=="" set _ntfs=%_ntfs% /C:%ntfs_size%
  56. if "%ntfs_unicode%"=="1" set _ntfs=%_ntfs% /U
  57. if "%ntfs_ncomp%"=="1"   set _ntfs=%_ntfs% /N
  58. if "%ntfs_nxint13%"=="1" set _ntfs=%_ntfs% /X
  59. if "%ntfs_verbose%"=="1" set _ntfs=%_ntfs% /V
  60. echo NTFS: Installing NTFSDOS%_ntfs%
  61. if exist %ramdrv%\bin\snap.com %ramdrv%\bin\snap.com S=%tmp%\ntfs.bin >%tmp%\nul
  62. %ldh% %ramdrv%\bin\ntfsdos.exe %_ntfs% %1 %2 %3 %4 %5 %6 %7 %8
  63. goto _end
  64.  
  65. :_unload
  66. if not exist %tmp%\ntfs.bin goto _end
  67. if not exist %ramdrv%\bin\snap.com goto _end
  68. echo NTFS: Unloading NTFSDOS
  69. %ramdrv%\bin\snap.com R=%tmp%\ntfs.bin >%tmp%\nul
  70. del %tmp%\ntfs.bin >%tmp%\nul
  71. goto _end
  72.  
  73. :_config
  74. echo :w_config "NTFS configuration" [x]>%tmp%\_Ntfs.tmp
  75. echo.>>%tmp%\_Ntfs.tmp
  76. echo Dialog timeout [$ Ntfs_ti,3] seconds.>>%tmp%\_Ntfs.tmp
  77. echo [!] Skip "Install NTFS or go config?" dialog>>%tmp%\_Ntfs.tmp
  78. echo.>>%tmp%\_Ntfs.tmp
  79. echo [.] Install NTFS (read-only) Support >>%tmp%\_Ntfs.tmp
  80. echo     [$ Ntfs_drv,20,U] Drive letters to use >>%tmp%\_Ntfs.tmp
  81. echo     [$ Ntfs_size,6] XMS cache size (KB) >>%tmp%\_Ntfs.tmp
  82. echo     [!] Tolerate unicode filenames >>%tmp%\_Ntfs.tmp
  83. echo     [!] Disable compression support >>%tmp%\_Ntfs.tmp
  84. echo     [!] Disable extended int 13 support >>%tmp%\_Ntfs.tmp
  85. echo     [!] Verbose >>%tmp%\_Ntfs.tmp
  86. echo.>>%tmp%\_Ntfs.tmp
  87. echo [.] Do NOT install NTFS support >>%tmp%\_Ntfs.tmp
  88. echo.>>%tmp%\_Ntfs.tmp
  89. echo             [ Save ]  [? Cancel ]>>%tmp%\_Ntfs.tmp
  90. set wcb1=%Ntfs_ncfg%
  91. set wcb2=%Ntfs_unicode%
  92. set wcb3=%Ntfs_ncomp%
  93. set wcb4=%Ntfs_nxint13%
  94. set wcb5=%Ntfs_verbose%
  95. set wrb=2
  96. if "%Ntfs_install%"=="1" set wrb=1
  97. call w.bat box @%tmp%\_Ntfs.tmp:w_config
  98. if errorlevel 2 goto _end
  99. set Ntfs_ncfg=%wcb1%
  100. set Ntfs_unicode=%wcb2%
  101. set Ntfs_ncomp=%wcb3%
  102. set Ntfs_nxint13=%wcb4%
  103. set Ntfs_verbose=%wcb5%
  104. set Ntfs_install=%wrb%
  105. if not "%wrb%"=="1" set Ntfs_install=0
  106. set t_out=1
  107. call drd.bat %srcdrv%
  108. if errorlevel 1 set t_out=0
  109. wbat box @%0:w_wprot #1,%t_out%
  110. set t_out=
  111. if errorlevel 2 goto _start
  112.  
  113. echo NTFS: Saving configuration...
  114. set | tfind /f1,5 "Ntfs_">%tmp%\_Ntfs.bat
  115. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  116. if not exist %ramdrv%\etc\global.set goto _yglob
  117. xgrep -syv "^[:s]*@*[:s]*s?e?t?[:s]*Ntfs_.+=" %ramdrv%\etc\global.set >>%tmp%\_Ntfs.bat
  118. :_yglob
  119. type %tmp%\_Ntfs.bat >%srcdrv%\etc\global.set
  120. type %tmp%\_Ntfs.bat >%ramdrv%\etc\global.set
  121. if exist %srcdrv%\etc\Ntfs.set del %srcdrv%\etc\Ntfs.set >%tmp%\nul
  122. if exist %ramdrv%\etc\Ntfs.set del %ramdrv%\etc\Ntfs.set >%tmp%\nul
  123. echo NTFS: Configuration saved to %srcdrv%\etc\global.set
  124. echo.
  125. goto _start
  126. :w_cfg "Install NTFS or go config?" [x]
  127.             (~press any key~: #? sec.)
  128.  
  129.   [!] Installing NTFS support ...
  130.  
  131.      [ Ok ] [ Config ] [? Abort ]
  132. ::
  133. :w_wprot "Disable write protection..." [x]
  134.  
  135.   If the disk in drive %srcdrv% is write
  136.   protected, please disable the write
  137.   protection now in order to save settings.
  138.   You can re-enable write protection after
  139.   saving.
  140.  
  141.             [ Ok ]  [? Cancel ]
  142. ::
  143. :_usage
  144. echo Parameters:
  145. echo -c    Config mode
  146. echo -u    Unload
  147. echo -h    This help info
  148. echo.
  149. goto _end
  150. :_error
  151. shift
  152. shift
  153. echo.
  154. echo NTFS: Error%errorlevel% %1 %2 %3 %4 %5 %6 %7 %8
  155. echo.
  156. @rem pause
  157. goto _end
  158. :_abort
  159. echo NTFS: Aborted...
  160. echo.
  161. @rem pause
  162. :_end
  163. set | tfind /f1,2 "W_" >%tmp%\_Ntfs.tmp
  164. set | tfind /f1,5 "Ntfs_" >>%tmp%\_Ntfs.tmp
  165. type %tmp%\_Ntfs.tmp | lmod /L* /B= set [$1]=>%tmp%\_Ntfs.bat
  166. call %tmp%\_Ntfs.bat
  167. if exist %tmp%\_Ntfs.* del %tmp%\_Ntfs.*
  168. set _ntfs=
  169. set ?=
  170. set wcb1=
  171. set wcb2=
  172. set wcb3=
  173. set wcb4=
  174. set wcb5=
  175. set wcb6=
  176. set wcb7=
  177. set wcb8=
  178. set wcb9=
  179. set wrb=
  180. set wbat=
  181. :: Ntfs End ::
  182.